﻿using System;
using System.IO;

public class ImageCopier
{
    public static void CopyImageMultipleTimes(string sourceFolder, string imageName, int copies)
    {
        try
        {
            // 检查源文件夹是否存在
            if (!Directory.Exists(sourceFolder))
            {
                throw new DirectoryNotFoundException($"文件夹未找到: {sourceFolder}");
            }

            // 构建源图片的完整路径
            string sourceImagePath = Path.Combine(sourceFolder, imageName);

            // 检查源图片是否存在
            if (!File.Exists(sourceImagePath))
            {
                throw new FileNotFoundException($"图片未找到: {sourceImagePath}");
            }

            // 获取图片的扩展名
            string extension = Path.GetExtension(imageName);

            // 循环复制图片
            for (int i = 1; i <= copies; i++)
            {
                // 生成新的文件名
                string newFileName = $"Copy_{i}{extension}";
                string newFilePath = Path.Combine(sourceFolder, newFileName);

                // 复制文件
                File.Copy(sourceImagePath, newFilePath, overwrite: true);

                // 打印进度
                if (i % 1000 == 0)
                {
                    Console.WriteLine($"已复制 {i} 份...");
                }
            }

            Console.WriteLine($"复制完成！共复制 {copies} 份。");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发生错误: {ex.Message}");
        }
    }
}

class Program
{
    static void Main()
    {
        string sourceFolder = "F:\\Study\\aEverydayLearn\\WPFLesson\\物流疑难问题\\图片问题\\水印问题\\CopyPic\\bin\\Debug\\net8.0\\新建文件夹"; // 替换为你的文件夹路径
        string imageName = "input.jpg"; // 替换为你的图片文件名
        int copies = 10000; // 复制份数

        ImageCopier.CopyImageMultipleTimes(sourceFolder, imageName, copies);

        Console.ReadKey();
    }
}
